package com.telcordia.cvas.rpn;


public class RpnCalculator {
	private OperandStack values2 = new OperandStack();

	public int getXRegister() {
		return values2.peek();
	}

	public void setXRegister(int value) {
		values2.replaceTop(value);
	}

	public void enter() {
		values2.push(getXRegister());
	}

	public void add() {
		int value1 = getXRegister();
		popTop();
		int value2 = getXRegister();
		int result = value1 + value2;
		setXRegister(result);
	}

	public void subtract() {
		int rhs = getXRegister();
		popTop();
		int lhs = getXRegister();
		int result = lhs - rhs;
		setXRegister(result);
	}
	
	private void popTop() {
		values2.pop();
	}

}
